package business;

import java.util.ArrayList;

import persistence.model.AbstractModel;
import persistence.model.Formation;
import persistence.model.Service;
import persistence.model.UE;
import utility.Record;

public class ServiceBL {
	
	private Service serv = null;

	public ServiceBL() {

	}

	public ServiceBL(int id) {
		serv = (Service) Service.all().get(id);
	}

	public void ajouterService(int id, int nbPer, int see, int typeHeure, int enseignant, int groupe) {
		serv = new Service(id, nbPer, see, typeHeure, enseignant, groupe);
		serv.save();
	}
	
	public void modifierService(int id, int nbPer, int see, int typeHeure, int enseignant, int groupe) {
		serv = new Service(id, nbPer, see, typeHeure, enseignant, groupe);
		serv.save(id);
	}
	
	public void supprimerService() {
		serv = new Service(this.getIdService());
		serv.delete();
	}
	
	public int getIdService(){
		return serv.getId();
	}
	
	public void setIdSerice(int id){
		serv.setId(id);
	}
	
	
	public int getNbPeriodes() {
		return serv.getNbPeriodes();
	}

	public void setNbPeriodes(int nbPeriodes) {
		serv.setNbPeriodes(nbPeriodes);
	}
	
	public int getFk_service_see() {
		return serv.getFk_service_see();
	}

	public void setFk_service_see(int fkServiceSee) {
		serv.setFk_service_see(fkServiceSee);
	}

	public int getFk_service_type_heure() {
		return serv.getFk_service_type_heure();
	}

	public void setFk_service_type_heure(int fkServiceTypeHeure) {
		serv.setFk_service_type_heure(fkServiceTypeHeure);
	}

	public int getFk_service_enseignant() {
		return serv.getFk_service_enseignant();
	}

	public void setFk_service_enseignant(int fkServiceEnseignant) {
		serv.setFk_service_enseignant(fkServiceEnseignant);
	}

	public int getFk_service_groupe() {
		return serv.getFk_service_groupe();
	}

	public void setFk_service_groupe(int fkServiceGroupe) {
		serv.setFk_service_groupe(fkServiceGroupe);
	}
	
	public int getIdAE() {
		return serv.getSEE().getMatiere().getUE().getSemestre().getIdAnneeEtude();
	}


	public ArrayList<Record> getListeService()
	{
		ArrayList<Record> listeService = new ArrayList<Record>();
		for (AbstractModel f : Service.all())
		{
			Service serviceCourant = (Service)f;
			int idService = serviceCourant.getId();
			String nomService = serviceCourant.getEnseignant().getNomEnseignant()+" - "+serviceCourant.getSEE().getMatiere().getNomMatiere()+" - "+serviceCourant.getSEE().getTypeEnseignement().getNomTypeEnseignement();
			
			listeService.add(new Record(idService, nomService));
		}
		
		return listeService;
	}

	public ArrayList<Record> getListeService(int idProf)
	{
		ArrayList<Record> listeService = new ArrayList<Record>();
		for (AbstractModel f : Service.all())
		{
			Service serviceCourant = (Service)f;
			if (serviceCourant.getEnseignant().getId() == idProf) {
				int idService = serviceCourant.getId();
				String nomService = serviceCourant.getSEE().getMatiere().getUE().getSemestre().getAnneeEtude().getNomAnneeEtude()+" - "+serviceCourant.getSEE().getMatiere().getNomMatiere()+" - "+serviceCourant.getSEE().getTypeEnseignement().getNomTypeEnseignement();
			
				listeService.add(new Record(idService, nomService));
			}
		}
		
		return listeService;
	}

}
